package generic;

/**
 * This is a generic particle class. It has mass, charge, width, height, depth, x, and y
 * @author Matt
 */
public class Particle {
	
	private double mass;	//Gram
	private double charge;	//Coulomb
	private double width;	//Meter
	private double height;	//Meter
	private double depth;	//Meter
	private int x, y;
	
	/**
	 * @param	mass	Weight of the particle in grams
	 * @param	charge	Charge of the particle in Coulumbs
	 * @param	width	Width of the particle in meters
	 * @param	height	Height of the particle in meters
	 * @param	depth	Depth of the particle in meters
	 */
	public Particle(double mass, double charge, double width, double height, double depth) {
		this.mass = mass;
		this.charge = charge;
		this.width = width;
		this.height = height;
		this.depth= depth;
		this.x = this.y = 0;
	}
	
	public Particle() {
		/*
		 * Sets everything to the specifications of an electron
		 */
		this.mass = 9.11 * Math.pow(10, -28);
		this.charge = -1.6021765 * Math.pow(10, -19);
		this.width = this.height = this.depth = Math.pow(10, -24);
		this.x = this.y = 0;
	}
	
	/*
	 * Getters
	 */
	public int getX()	{	return this.x;	}
	public int getY()	{	return this.y;	}
	public double getCharge()	{	return this.charge;	}
	public double getMass()		{	return this.mass;	}
	public double getWidth()	{	return this.width;	}
	public double getHeight()	{	return this.height;	}
	public double getDepth()	{	return this.depth;	}
	
	/*
	 * Setters
	 */
	public void setX(int x)	{	this.x = x;	}
	public void setY(int y)	{	this.y = y;	}
	public void setCharge(double charge)	{	this.charge = charge;	}
	public void setMass(double mass)		{	this.mass = mass;		}
	public void setWidth(double width)		{	this.width = width;		}
	public void setHeight(double height)	{	this.height = height;	}
	public void setDepth(double depth)		{	this.depth = depth;		}
}
